1. Field of the Invention
The present invention relates generally to a mobile communication system, and in particular, to an apparatus and method for retransmitting packet data in a mobile communication system employing an HSDPA (High Speed Downlink Packet Access) technique.
2. Description of the Related Art
In general, HSDPA refers to a technique for transmitting data including a high-speed downlink shared channel (HS-DSCH)-related control channels in a UMTS (Universal Mobile Telecommunications System) communication system. In order to support the HSDPA, there have been proposed AMC (Adaptive Modulation and Coding) technique, HARQ (Hybrid Automatic Retransmission Request) technique, and FCS (Fast Cell Select) technique. A structure of the UMTS communication system and the AMC, HARQ and FCS techniques will be described in detail herein below with reference to FIG. 1.
FIG. 1 illustrates a structure of a general CDMA communication system. Referring to FIG. 1, a UMTS communication system includes a core network (CN) 100, a plurality of radio network subsystems (RNSs) 110 and 120, and a user equipment (UE) 130. The RNSs 110 and 120 each include a radio network controller (RNC) and a plurality of Node Bs, also known as “cells”. For example, as illustrated in FIG. 1, the RNS 110 is comprised of an RNC 111 and Node Bs 113 and 115. Further, the RNC is classified into a serving RNC (SRNC), a drift RNC (DRNC) and a controlling RNC (CRNC) according to its role. An RNC managing information on a UE and managing data communication with the core network is called an SRNC of the UE, and when data targeting the UE is transmitted to and received from an SRNC through another RNC, this RNC is called a DRNC of the UE. Further, an RNC controlling operation of Node Bs is called a CRNC of the Node Bs. In FIG. 1, if information on the UE 130 is managed by the RNC 111, the RNC 111 becomes an SRNC of the UE 130, and in this condition, if data targeting the UE 130 is transmitted and received through an RNC 121, the RNC 121 becomes a DRNC of the UE 130. Further, the RNC 111 controlling the Node B 113 becomes a CRNC of the Node B 113.
Now, a description of the AMC, HARQ, and FCS techniques will be made with reference to FIG. 1.
First, the AMC is a data transmission technique for adaptively determining a modulation mode and a coding mode of different data channels according to a channel condition between a specific Node B, e.g., Node B 123, and the UE 130, thereby to increase the overall utilization efficiency of a cell. Therefore, the AMC have a plurality of modulation modes and a plurality of coding modes, and modulates and codes data channels by combining the modulation modes and the coding modes. Generally, each of combinations of the modulation modes and the coding modes are called “MCS (Modulation and Coding Scheme)”, and there are a plurality of MCSs with level #1 to level #n according to the number of combinations of the modulation modes and the coding modes. In other words, the AMC technique adaptively determines a level of the MCS according to a channel condition between the Node B 123 and the UE 130 currently wirelessly connected to the Node B 123, thereby increasing the overall utilization efficiency.
Second, the FCS technique rapidly selects a cell having a good channel condition among a plurality of cells, when a UE receiving an HSDPA service enters a cell-overlapped region. To be specific, if the UE 130 receiving the HSDPA service enters a cell-overlapped region, or a soft handover region, between the Node B 123 and the Node B 125, then the UE 130 establishes radio links to the cells in the soft handover region. Here, a set of the cells, to which the radio links are established by the UE 130, is called an “active set”. The FCS technique receives HSDPA packets from only the cell maintaining the best channel condition with the UE 130 among the cells included in the active set, thereby to reduce the overall interference. Generally, a cell transmitting the HSDPA packets for its best channel condition with the UE 130 among the cells in the active set is called a “best cell”. The UE 130 periodically checks the channel conditions with the cells belonging to the active set. Upon detecting a cell having a channel condition better than that of the current best cell, the UE 130 transmits a best cell indicator to the cells in the active set in order to replace the current best cell with a new best cell. The best cell indicator includes an identifier indicating a cell that is selected as the new best cell. Upon receiving the best cell indicator, the cells belonging to the active set analyze the cell identifier included in the received best cell indicator to determine whether the received best cell indicator is destined for them. The selected best cell transmits HSDPA packets to the UE 130 using a high-speed downlink shared channel (HS-DSCH).
Third, the HARQ, or n-channel SAW HARQ (n-channel Stop And Wait Hybrid Automatic Retransmission Request) technique, will be described. For the HARQ, there have been proposed the following two plans to increase efficiency of the ARQ (Automatic Retransmission Request) technique. First, the HARQ performs data retransmission request and response between the UE and the Node B. Second, the HARQ temporarily stores errored data and then combines it with a retransmission portion of the corresponding data before transmission.
Next, an RLC (Radio Link Control) ARQ technique and the HARQ technique will be described with reference to FIG. 2.
FIG. 2 schematically illustrates a protocol stack of a mobile communication system using an HSDPA technique. Referring to FIG. 2, the UE 130 and the Node B 123 each have a new layer, called a MAC-h (Medium Access Control-high speed) layer 201 and 205, in order to support the AMC, HARQ and FCS. That is, the MAC-h 205 of the Node B 123 performs UE scheduling, MCS allocation, and HARQ processing. As illustrated in FIG. 2, there exists an RLC ARQ function between RLC 203 of the UE 130 and RLC 207 of the SRNC 121, and there exists an HARQ function between the MAC-h 205 of the Node B 123 and MAC-h 201 of the UE 130.
Specifically, since the RLC ARQ performed between the RLC 203 of the UE 130 and the RLC 207 of the SRNC 121 occurs between the SRNC 121 and the UE 130, it takes a long time to make a retransmission request and respond to the retransmission request. However, in the HARQ, retransmission request and response is directly performed between the UE 130 and the Node B 123, so it takes a short time to make a retransmission request and respond to the retransmission request. In addition, the RLC ARQ immediately discards the errored data, whereas the HARQ temporarily stores the errored data and then combines it with a retransmission portion of the corresponding data before decoding, thereby to reduce error occurrence possibility. Here, the combining technique includes a chase combining (CC) technique and an incremental redundancy (IR) technique.
The CC technique transmits the same data at both initial transmission and retransmission, whereas the IR technique transmits different data at initial transmission and retransmission. The CC and IR techniques will be described with reference to a case where an R=1/6 turbo code is used as a mother code and a coding rate is 3/4. First, in the CC technique, if the mother code has generated N bits, a transmission side transmits N*(1/6)*(4/3) bits at initial transmission by puncturing some of the N bits, and upon receipt of NACK in response to the initial transmission, retransmits the N*(1/6)*(4/3) bits that were transmitted at the initial transmission. A reception side then stores the data received at the initial transmission, receives again the same data at the retransmission, and symbol-combines the stored data with the received data before decoding. Second, in the IR technique, the transmission side transmits N*(1/6)*(4/3) bits at initial transmission by puncturing some of the N bits generated by the mother code. The reception side receives the bits transmitted at the initial transmission, decodes the received bits, and performs CRC (Cyclic Redundancy Check) checking on the decoded bits, and upon detecting a CRC error, transmits a NACK signal to the transmission side. Upon receiving the NACK signal, the transmission side retransmits to the reception side N*(1/6)*(4/3) bits excepting the N*(1/6)*(4/3) bits transmitted at the initial transmission among the N bits, or N*(1/6)*(4/3) bits including only some of the N*(1/6)*(4/3) bits transmitted at the initial transmission. The reception side then decodes the N*(1/6)*(4/3) bits received at the initial transmission and the N*(1/6)*(4/3) bits received at the retransmission, performs CRC checking on the decoded bits, and upon detecting a CRC error, transmits again a NACK signal to the transmission side. Upon receipt of the NACK signal, the transmission side repeats transmitting new N*(1/6)*(4/3) bits to the reception side so that the reception side may receive N bits. Therefore, the reception side can receive as many bits as a coding rate of the mother code and decode the received bits, thus making it possible to obtain an overall coding gain. In this way, the IR uses different bit streams at the initial transmission and the retransmission, and this is called “version”. That is, initial transmission is called “version 0”, first retransmission “version 1”, and second retransmission “version 2”.
In the HSDPA, the HARQ function is added to the MAC-h, so that the RLC and the MAC-h can independently perform an error control function. The RLC performs error control on the assumption that a post-RLC stage sequentially transmits RLC PDUs (Protocol Data Unit).
However, if the MAC-h performs the HARQ, the RLC PDUs may not be sequentially transmitted from the MAC to the RLC. In this case, the retransmission is performed inefficiently. For example, it will be assumed that during transmission of PDUs with RLC sequence numbers of 1, 2, 3, 4, 5, 6 and 7 from the Node B to the UE, data errors have occurred in the PDUs with sequence numbers of 3 and 4 on the radio link. Since the PDUs with sequence numbers of 1, 2, 5, 6 and 7 are received without errors, the MAC of the UE, a reception side, transmits the received error-free PDUs with sequence numbers of 1, 2, 5, 6 and 7 to the RLC. However, the PDUs with sequence numbers of 3 and 4, i.e., the errored PDUs, undergo an HARQ process in the MAC-h 201 of the UE and the MAC-h 205 of the Node B, and if no error is detected in the HARQ process, they are transmitted to the RLC of the UE. Here, a detailed operation of the RLC ARQ will be made. The RLC has a transparent mode (TM), an acknowledged mode (AM) and an unacknowledged mode (UM) as its operation mode. However, the HS-DSCH operates only in the AM and the UM, so the description will be restricted herein to the AM and the UM. When the RLC operates in the UM, the RLC segments a service data unit (SDU) provided from an upper layer in a proper size, or assembles the PDUs received from a lower layer into an SDU. Further, the RLC enciphers the SDU provided from the upper layer, or deciphers the PDUs provided from the lower layer. If the RLC operation mode is UM, a header of the RLC PDU includes a sequence number (SN), a length indicator (LI) and an extension bit (E). The SN indicates sequence numbers sequentially assigned to the RLC PDUs generated by segmenting the SDU provided form the upper layer in a predetermined size. The SN is used when generating SDU by reassembling the RLC PDUs having the SNs. Of course, if the size of the SDU is smaller than the predetermined size, i.e., the size of the RLC PDU, then several SDUs are concatenated to generate one RLC PDU. The LI serves as a pointer pointing a position of the SDU in the RLC PDU. If the size of the SDU is larger than the predetermined size, several RLC PDUs are concatenated to generate one SDU. Here, the LI may exist in first and last RLC PDUs. The LI existing in the first RLC PDU indicates a start position of the SDU, and the LI existing in the last RLC PDU indicates a last position of the SDU. The E indicates whether the next value is a header or data. In general, if the RLC operates in the UM, a transmission operation is performed as follows.
The transmission operation for the RLC operating in the UM is divided into a case where the SDU is provided form the upper layer and another case where the RLC PDUs are provided from the lower layer. First, reference will be made to the case where the SDU is provided from the upper layer. Upon receiving SDU from the upper layer, the RLC segments or concatenates the received SDU into PDUs with a predetermined size in an initial call setup process. The RLC inserts headers including the SNs into the segmented or concatenated PDUs, and the data generated in this manner is RLC PDU.
Next, the RLC, to which the RLC PDUs are provided from the lower layer, reassembles the provided RLC PDUs into SDUs using information included in the headers of the RLC PDUs. For example, if 10 RLC PDUs with SN=1 to SN=10 are transmitted, LI of the RLC PDU with SN=1 indicates that a payload of the corresponding RLC PDU is a start point of a new SDU, and if the last bit of the payload of the RLC DU with SN=10 indicates the last bit of the SDU, the 10 RLC PDUs are concatenated into one SDU. In the prior art, if the SNs of the received RLC PDUs are not sequential, i.e., if there are errored RLC PDUs, all of the RLC PDUs belonging to the SDUs related to the errored RLC PDUs are discarded. For example, if an error has occurred in the RLC PDU with SU=7, all of the remaining RLC PDUs with SN=1 to SN=10 that were normally received are discarded. Therefore, when the MAC-h performs the HARQ process, the RLC PDUs may not sequentially arrive at the RLC, so that the RLC reception operation causes unnecessary discarding operation, leading to a reduction in communication efficiency.
Next, a description will be made of another case where the RLC operation mode is AM. When the RLC operates in the AM, the RLC PDU structure is comprised of DIC (Data or Control), SN, LI, P (Polling), HE (Header Extension), E (Extension), DATA, and STATUS PDU. Here, D/C, comprised of one bit, indicates whether the corresponding RLC PDU is a control RLC PDU or a data RLC PDU. SN indicates sequence numbers of the RLC PDUs as in the case where the RLC operates in the UM. LI serves as a pointer for start points of the SDUs when several SDUs exist in the corresponding RLC PDU, as in the case where the RLC operates in the UM. P, comprised of one bit, indicates whether or not a reception side of the corresponding RLC PDU should report its RLC state. HE indicates whether the next bits are data, or LI and E. E indicates whether the next bits are data bits or LI and E bits. DATA represents RLC PDU data obtained by segmenting or concatenating SDUs. STATUS PDU is control information to be notified to the reception side by the transmission side. Typically, the control information is retransmission information or information on the data to be possibly transmitted later. The operation for the case where the RLC operates in the AM is more complex than the operation for the case where the RLC operates in the UM, so the description will be made with reference to FIG. 4.
FIG. 4 schematically illustrates an RLC structure for the case where the RLC operates in the AM in a general CDMA communication system. Referring to FIG. 4, a segmentation/concatenation part 401 segments or concatenates SDUs provided from the upper layer in a predetermined PDU size. A ciphering part 402 enciphers the PDUs, and an RLC header adder 403 adds the header information D/C, SN, LI and HE to the output of the ciphering part 402. Here, when the RLC operates in the UM, SN has 7 bits. However, when the RLC operates in the AM, the SN has 12 bits. A retransmission buffer & manager 404 stores RLC PDUs, ACK (acknowledgement) signals for which have not yet received, in its retransmission buffer, and retransmits or discards the corresponding RLC PDUs according to a retransmission request for the STATUS PDU added to the received RLC PDU or the contents of the received STATUS PDU. A multiplexer (MUX) 405 multiplexes the outputs of the RLC header adder 403 and the retransmission buffer & manager 404 into one stream, and provides its output to a transmission buffer 406. An RLC header setting part 407 inserts STATUS PDU to be transmitted to the reception side or sets the P bit before transmission, under the control of an RLC controller 413.
In addition, a demultiplexing/routing part 408 determines whether RLC PDU received from the lower layer is STATUS PDU or data PDU. If the received RLC PDU is STATUS PDU, the demultiplexing/routing part 408 provides the received RLC PDU to the RLC controller 413. However, if the received RLC PDU is data PDU, the demultiplexing/routing part 408 provides the received RLC PDU to a reception buffer & retransmission manager 409. The reception buffer & retransmission manager 409 stores the received RLC PDUs until one SDU is assembled in its reception buffer. The reception buffer & retransmission manager 409 manages the retransmission buffer of the retransmission buffer & manager 404 using information on the STATUS PDU. That is, the reception buffer & retransmission manager 409 transmits information on the PDUs to be retransmitted and the PDUs to be discarded to the retransmission buffer & manager 404, the information being represented by SN in the STATUS PDU, thereby controlling retransmission and discard of the corresponding PDUs. An RLC header extractor 410 removes headers of the received RLC PDUs and transmits header information to the retransmission buffer of the retransmission buffer & manager 404. A deciphering part 411 deciphers PDUs received for the RLC header extractor 410. A reassembler 412 reassembles the deciphered PDUs received from the deciphering part 411 into one SDU, and transmits the reassembled SDU to the upper layer. The ARQ of the RLC operating in the AM will be described herein below in more detail.
It is assumed herein that an SDU is transmitted from the upper layer to an RNC A at time t0. The SDU is applied to the segmentation/concatenation part 401, and the segmentation/concatenation part 401 segments the received SDU into 20 PDUs, and provides the 20 segmented PDUs to the ciphering part 402. The ciphering part 402 enciphers the 20 segmented PDUs provided from the segmentation/concatenation part 401, and provides the 20 enciphered PDUs to the RLC header adder 403. The RLC header adder 403 assigns SNs of integers n to n+19 to the 20 enciphered PDUs output from the ciphering part 402, and provides its outputs to the multiplexer 405. At this point, if it is assumed that there is no input from the retransmission buffer & manager 404, the multiplexer 405 sequentially outputs the 20 PDUs provided from the RLC header adder 403 to the RLC header setting part 407 through the transmission buffer 406. The RLC header setting part 407 sets the P bit. That is, it is assumed that the PDUs are transmitted to the MAC layer after sending a STATUS PDU transmission request to a UE B, an arbitrary transmission side.
Meanwhile, if the RLC PDUs are transmitted to the UE B at time t1, the demultiplexing/routing part 408 demultiplexes the received RLC PDUs and provides its outputs to the reception buffer & retransmission manager 409. The reception buffer & retransmission manager 409 analyzes the SNs of the RLC PDUs provided from the demultiplexing/routing part 408, to determine whether an error has occurred in a specific RLC PDU. As a result of the analysis, if the SNs are not sequential, the reception buffer & retransmission manager 409 notifies an SN of a non-received RLC PDU to the RLC header setting part 407, and inserts this information into STATUS PDU of the RLC PDU to be transmitted. Upon receiving the STATUS PDU-inserted RLC PDU, the RNC A outputs the STATUS PDU-inserted RLC PDU to the RLC header extractor 410 through the demultiplexing/routing part 408 and the reception buffer & retransmission manager 409. Upon receiving the STATUS PDU-inserted RLC PDU, the RLC header extractor 410 transmits this information to the retransmission buffer 404 to perform retransmission. If the UE B successfully receives the retransmitted RLC PDUs, all of the RLC PDUs for constituting one SDU are stored in the reception buffer of the reception buffer & retransmission manager 409, and the stored RLC PDUs are output to the RLC header extractor 410. Here, since it is assumed that STATUS PDU is not added to the RLC PDU during transmission, the RLC header extractor 410 performs only an operation of removing the headers from the RLC PDUs, and the reassembled data is transmitted to the upper layer through the deciphering part 411 and the reassembler 412.
As described above, when the RLC operates in the AM, retransmission management of the transmission side is performed based on the retransmission information included in the STATUS PDU transmitted by the transmission side. STATUS PDU transmission of the reception side may be performed either periodically or when a specific condition is satisfied. Here, the “specific condition” refers to a case where the P bit of the received RLC PDU has 1 bit, or a case where SNs of the received RLC PDUs are not sequential. As stated before, the reception side temporarily stores the received RLC PDUs in its reception buffer, and then transmits the stored RLC PDUs to the upper layer if it can reassemble them into one SDU. If there is a non-received RLC PDU, the reception side stores the received RLC PDUs in its reception buffer, and waits until the non-received RLC PDU arrives.
To sum up, not only the communication system using the HSDPA technique performs retransmission on the retransmission information included in the STATUS PDU transmitted by the reception side, but also the MAC-h performs retransmission through a Uu interface (an interface between the UE and Node B), so there is possibility that the retransmission process will be duplicated (or overlapped). That is, if the RLC does not recognize the data currently undergoing the retransmission process in the MAC-h as a non-received RLC PDU, then unnecessary STATUS PDU is transmitted.
As described above, when the RLC operates in the AM, the RLC presumes that the lower layer sequentially transmits RLC PDUs. Therefore, upon receiving RLC PDUs with SN=1, 2, 5, 6 and 7 from the MAC, the RLC recognizes that the RLC PDUs with SN=3 and 4 are not received yet. In this case, the RLC sends a retransmission request to the RLC of the transmission side though the MAC-h performs retransmission. As a result, the RLC PDUs with SN=3 and 4 are subject to duplicated retransmission: one retransmission through the RLC ARQ and another retransmission through the HARQ.